package net.wanho.controller;

import lombok.RequiredArgsConstructor;
import net.wanho.po.Store;
import net.wanho.service.StoreService;
import net.wanho.vo.PageInfo;
import net.wanho.vo.R;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequiredArgsConstructor
@RequestMapping("/store")
public class StoreController {
    private final StoreService storeService;
    @GetMapping("/store-page-list")
    public R storePageList(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "5") Integer pageSize, Store store) {
        PageInfo<Store> pageInfo =storeService.storePageList(pageNum,pageSize,store);
        return R.success(pageInfo);

    }
    @GetMapping("/store-list")
    public R storeList(){
        List<Store> storeList = storeService.list();
        return R.success(storeList);
    }

    @GetMapping("/store-num-check")
    public R storeNumCheck(@Param("storeNum") String storeNum){
        boolean b = storeService.storeNumCheck(storeNum);
        return R.success(b);
    }
    @PostMapping("/store-add")
    public R storeAdd(@RequestBody Store store){
        storeService.save(store);
        return R.success("添加成功");
    }
    @PutMapping("/store-update")
    public R storeUpdate(@RequestBody Store store){
        storeService.updateById(store);
        return R.success("修改成功");
    }

    @DeleteMapping("/store-delete/{id}")
    public R storeDelete(@PathVariable Integer id){
        storeService.removeById(id);
        return R.success("删除成功");
    }

    @GetMapping("/exportTable")
    public R exportTable(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "5") Integer pageSize, Store store) {
            PageInfo<Store> pageInfo =storeService.storePageList(pageNum,pageSize,store);
            return R.success(pageInfo.getResultList());
        }
}
